FFFFFFiiiiiinnnnnnggggggeeeeeerrrrrr ------ AAAAAA UUUUUUsssssseeeeeerrrrrr IIIIIInnnnnnffffffoooooorrrrrrmmmmmmaaaaaattttttiiiiiioooooonnnnnn LLLLLLooooooooooookkkkkkuuuuuupppppp SSSSSSeeeeeerrrrrrvvvvvviiiiiicccccceeeeee Michael T. Horne, KA7AXD _1_9_5_9_5 _S_W _M_a_r_t_i_n _S_t _A_l_o_h_a, _O_R _9_7_0_0_7 _5_0_3-_5_9_1-_0_4_8_8 _A_B_S_T_R_A_C_T With the recent explosion in amateur TCP/IP activity, primarily made possible by the KA9Q Internet Package, the need has arisen for a user information lookup ser- vice. Users on the amateur network can now retrieve important information about other amateurs through the use of a new application called _f_i_n_g_e_r. This paper describes finger and its potential as an important source for information retrieval in the amateur net- working world. 111111...... BBBBBBaaaaaacccccckkkkkkggggggrrrrrroooooouuuuuunnnnnndddddd With the release of the KA9Q TCP/IP Internet Package, writ- ten primarily by Phil Karn with contributions from others, ama- teurs have been able to build computer networks based around their own personal computers. The package offers the amateur a complete system for performing file transfers, sending and receiving mail, remote computer log-in facilities, and simple keyboard-to-keyboard conversations, far more advanced and power- ful than a standard Terminal Node Controller. What has been lacking is the means for a simple user information lookup ser- vice, allowing amateurs to exchange basic, yet important, infor- mation about each other. In the commercial world of networking and UNIX computers, such an information service exists. This service is called _f_i_n_g_e_r. Finger has its origins at the University of California at Berkeley, written as a means for users of the UNIX system to retrieve information about other UNIX users [1]. A user on the system could get information such as the user's full name, his telephone number, what project he was working on, and other use- ful facts. Other system dependent information, such as whether or not he was logged on and what terminal he was using, was returned to the person requesting the information. Not all of this information is directly applicable to the amateur network- ing world, but something similar to this could be very useful. 222222...... FFFFFFiiiiiinnnnnnggggggeeeeeerrrrrr ffffffoooooorrrrrr tttttthhhhhheeeeee AAAAAAmmmmmmaaaaaatttttteeeeeeuuuuuurrrrrr WWWWWWoooooorrrrrrlllllldddddd Amateurs have historically been curious about their fellow hobbyists. Most conversations you listen to on the HF bands consist of an exchange of name, location, and other personal information. Likewise, amateurs using packet radio query each other for this same information in order to get to know each other. Up until now, one has had to ask the amateur personally for the information, or lookup the information in a Callbook. Seeing the need for some sort of automatic information lookup service, I proceeded to write an application for the KA9Q pack- age that would allow amateurs to lookup information when they need it. The finger application I wrote allows amateurs using the KA9Q package, hereafter called `net', to retrieve and provide information about themselves. Users can now retrieve such important facts as name, address, and telephone number, QSL information, station equipment used, projects currently under- taken, and many other things. In fact, there is virtually no limit to what information can be exchanged! At the same time, amateurs have complete control over what information about them- selves can be retrieved by other hams. As our network expands, this application will help hams find out information about each other quickly and efficiently. 333333...... HHHHHHoooooowwwwww ttttttoooooo UUUUUUsssssseeeeee FFFFFFiiiiiinnnnnnggggggeeeeeerrrrrr The finger command under net can be issued in any of the following three ways: 1) finger user 2) finger user@host 3) finger @host UUUUUUsssssseeeeeerrrrrr is the user's name you wish to query and hhhhhhoooooosssssstttttt is the name of the host, or computer, that the user is at. The first form of the command is used to find out informa- tion about a user at the local host, namely your own system. It is useful for testing finger on a system that you know is run- ning. The second form of the command is used to find out infor- mation about a user at a remote host. If you don't know the name of a particular user at a remote host, you can use the third form of the command. This command returns a list of all users currently known on the remote computer. To enable the finger server on your system so that others may query the users on your system, you must type `start finger'. If you don't start the finger server on your host, other systems will not be able to finger users on your system. 444444...... TTTTTThhhhhheeeeee FFFFFFiiiiiinnnnnnggggggeeeeeerrrrrr IIIIIInnnnnnffffffoooooorrrrrrmmmmmmaaaaaattttttiiiiiioooooonnnnnn FFFFFFiiiiiilllllleeeeeessssss By now you are probably wondering how the computer knows information about a particular user. In order to provide a cer- tain amount of privacy, _f_i_n_g_e_r _w_i_l_l _o_n_l_y _r_e_t_u_r_n _i_n_f_o_r_m_a_t_i_o_n _t_h_a_t _t_h_e _u_s_e_r _p_r_o_v_i_d_e_s _i_n _a _f_i_l_e. Each user maintains a text file of information. The local user's text file is returned to the remote user each time the local user is `fingered'. If a user does not want to have information about himself sent to other systems trying to finger him, he simply does not create the file. On an MS-DOS system running net, all of the finger files are stored in directory \\\\\\ffffffiiiiiinnnnnnggggggeeeeeerrrrrr. Each user wishing to be recog- nized by the finger system must create a uuuuuusssssseeeeeerrrrrr......ttttttxxxxxxtttttt file in the finger directory. For example, on KA7AYF's system he may have two users; `glen' and `lisa'. In order for net to recognize these two users, he must create two text files: \finger\glen.txt and \finger\lisa.txt . What you put in the finger information files is completely up to you, but here are some guidelines: 1) You will probably want at least your name, callsign, full address, and telephone number in your finger file so other hams can contact you. 2) You might add information such as your license class, sta- tion configuration, and occupation. 3) You may wish to add some information about what projects you are currently working on. This will provide helpful information for others who have similar interests. 4) Remember that the longer your finger file is, the longer it may take to transfer the data to the system fingering you. 555555...... AAAAAAnnnnnn EEEEEExxxxxxaaaaaammmmmmpppppplllllleeeeee FFFFFFiiiiiinnnnnnggggggeeeeeerrrrrr SSSSSSeeeeeessssssssssssiiiiiioooooonnnnnn On my system, I have two users; `mike' and `teresa'. If someone fingers mike@ka7axd.ampr, it might look something like this: net> ffffffiiiiiinnnnnnggggggeeeeeerrrrrr mmmmmmiiiiiikkkkkkeeeeee@@@@@@kkkkkkaaaaaa777777aaaaaaxxxxxxdddddd......aaaaaammmmmmpppppprrrrrr SYN sent Established [ka7axd.ampr] Hello and welcome to ka7axd.ampr running the KA9Q TCP/IP code! User: mike (KA7AXD) Real Name: Michael T. Horne Class: Extra Address: Michael T. Horne 19595 SW Martin Beaverton, OR 97007 (503) 591 - 0488 System: IBM AT Clone MFJ TNC2 KISS TNC Yaesu FT-27RB Occupation: Hardware/Software Engineer 2710 Spectrum Analyzer Group Tektronix, Inc. Close wait Last ACK Closed (Normal) net> 666666...... FFFFFFiiiiiinnnnnnggggggeeeeeerrrrrr IIIIIInnnnnntttttteeeeeerrrrrrnnnnnnaaaaaallllllssssss Finger uses the well known port number 79 using TCP. When fingering a remote host, a socket is opened to the remote host using port 79. Once established, the client sends the name of the user on the remote host to be queried, or simply a carriage return/line feed sequence if system information is desired (such as a list of known users). The server attempts to find a file in the finger database directory under the name user.txt. If it fails, it returns a short message to the client that no user with that name is known on the remote system, then closes the socket. If it succeeds, the server returns the contents of the user.txt file to the client, then closes the socket. If the form `finger user' is used, a socket connection is attempted at the local host, and program flow follows that described above. 777777...... SSSSSSuuuuuummmmmmmmmmmmaaaaaarrrrrryyyyyy The finger application under the KA9Q Internet Package pro- vides amateurs with a simple, but powerful, user information lookup service. Amateurs can use the application to quickly find important information about other amateurs on the network. As our network expands, finger's usefulness will expand with it, and may eventually serve as a primary resource for obtaining the information amateurs need. RRRRRReeeeeeffffffeeeeeerrrrrreeeeeennnnnncccccceeeeee 1. "Finger(1) - User Information Lookup Program," _T_h_e _U_N_I_X _P_r_o_g_r_a_m_m_e_r_'_s _M_a_n_u_a_l, University of California, Berkeley, 1986.